//package approval.dao;
//
//import java.sql.ResultSet;
//import java.util.ArrayList;
//import java.util.List;
//import javax.faces.bean.ManagedBean;
//import javax.faces.bean.ManagedProperty;
//import javax.faces.bean.SessionScoped;
//import javax.faces.component.UIColumn;
//import javax.faces.component.UIComponent;
//import javax.faces.component.html.HtmlSelectBooleanCheckbox;
//import javax.faces.context.FacesContext;
//import javax.faces.event.ActionEvent;
//import javax.faces.event.AjaxBehaviorEvent;
//import javax.servlet.http.HttpSession;
//import org.richfaces.component.UIExtendedDataTable;
//
//import resource.pojo.Approvedoc;
//import resource.pojo.ListApprove;
//import models.pojo.Employee;
//import model.util.UtilInitLang;
//import models.util.MySqlDataAccessHelper;
//
//@ManagedBean(name = "yourDocDAO")
//@SessionScoped
//public class YourDocDAO {
//	@ManagedProperty(value = "#{utilInitLang.getClassEntity()}")
//	private UtilInitLang utilInitLang;
//	private ArrayList<Approvedoc> allyourDoc = new ArrayList<Approvedoc>();
//	private ArrayList<Approvedoc> allyourDocDelete = new ArrayList<Approvedoc>();
//	private String script = "";
//	private String messErr;
//	private boolean isCheckDelete = false;
//	private boolean isCheck = false;
//	private Approvedoc currentApprovedoc = null;
//	private int currentApDocIndex;
//	private String comment;
//	private ArrayList<Approvedoc> allTempYourDocDelete = new ArrayList<Approvedoc>();
//	MySqlDataAccessHelper mysqlHelper = new MySqlDataAccessHelper();
//
//	public YourDocDAO getClassYourDocEntity() {
//		return this;
//	}
//
//	public boolean contains(Approvedoc ap) {
//		if (allTempYourDocDelete.size() == 0)
//			return false;
//		for (int i = 0; i < allTempYourDocDelete.size(); i++) {
//			if (ap.getiDApproveDoc() == allTempYourDocDelete.get(i)
//					.getiDApproveDoc())
//				return true;
//		}
//		return false;
//	}
//
//	public MySqlDataAccessHelper getMysqlHelper() {
//		return mysqlHelper;
//	}
//
//	public void setMysqlHelper(MySqlDataAccessHelper mysqlHelper) {
//		this.mysqlHelper = mysqlHelper;
//	}
//
//	public UtilInitLang getUtilInitLang() {
//		return utilInitLang;
//	}
//
//	public void setUtilInitLang(UtilInitLang utilInitLang) {
//		this.utilInitLang = utilInitLang;
//	}
//
//	public int getCurrentApDocIndex() {
//		return currentApDocIndex;
//	}
//
//	public void setCurrentApDocIndex(int currentApDocIndex) {
//		this.currentApDocIndex = currentApDocIndex;
//	}
//
//	public void onClickYourDoc() {
//		setCurrentApprovedoc(allyourDoc.get(this.getCurrentApDocIndex()));
//	}
//
//	public void onDbClickYourDoc() {
//		Approvedoc ap = allyourDoc.get(this.getCurrentApDocIndex());
//		if (ap != null) {
//			if (!ap.getComment().equalsIgnoreCase("")) {
//				setScript("RichFaces.ui.PopupPanel.showPopupPanel('pComment')");
//				setComment(ap.getComment());
//			} else {
//				setScript("RichFaces.ui.PopupPanel.hidePopupPanel('pComment')");
//				setComment("");
//			}
//		}
//	}
//
//	public void checkYourDocDelete(ActionEvent e) {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Object obj = ss.getAttribute("Employee");
//		if (obj != null) {
//			if (allyourDocDelete.size() > 0) {
//
//				for (Approvedoc ap : allyourDocDelete) {
//
//					if (ap.getStatus().getiDStatus() == 2) {
//
//						ArrayList<ListApprove> appList = ap.getGroupApprove()
//								.getAllListApprove();
//						for (ListApprove lst : appList) {
//
//							if (lst.getStatus().getiDStatus() == 5) {
//								setMessErr(getUtilInitLang().getErrDelete());
//								setScript("RichFaces.ui.PopupPanel.showPopupPanel('pDelete')");
//								setCheckDelete(false);
//								return;
//							}
//						}
//					}
//				}
//			} else {
//				setMessErr(getUtilInitLang().getErrNoDocDelete());
//				setScript("RichFaces.ui.PopupPanel.showPopupPanel('pNoDocDelete')");
//				setCheckDelete(false);
//				return;
//			}
//			if (allyourDocDelete.size() == 1) {
//				setMessErr(getUtilInitLang().getMessDelete());
//			} else if (allyourDocDelete.size() > 1) {
//				setMessErr(getUtilInitLang().getMessDeletes());
//
//			}
//			setCheckDelete(true);
//			setScript("RichFaces.ui.PopupPanel.showPopupPanel('pDelete')");
//		}
//	}
//
//	public void deleteDoc(ActionEvent e) {
//		if (isCheckDelete()) {
//			mysqlHelper.open();
//			String sql = "delete from approvedoc where IDApproveDoc=";
//			for (int i = 0; i < allyourDocDelete.size(); i++) {
//				Approvedoc ap = allyourDocDelete.get(i);
//				if (i == allyourDocDelete.size() - 1)
//					sql = sql + ap.getiDApproveDoc();
//				else
//					sql = sql + ap.getiDApproveDoc() + " or IDApproveDoc=";
//			}
//			mysqlHelper.executeUpdate(sql);
//			setCheckDelete(false);
//		}
//		allyourDocDelete.clear();
//		setCurrentApprovedoc(null);
//		setCheck(false);
//	}
//
//	public void selectDocDelete(AjaxBehaviorEvent v) {
//		FacesContext f = FacesContext.getCurrentInstance();
//		UIExtendedDataTable table = (UIExtendedDataTable) f.getViewRoot()
//				.findComponent("form1:table");
//		List<UIComponent> it = table.getChildren();
//		UIColumn columnCheck = (UIColumn) it.get(0);
//		List<UIComponent> listComp = columnCheck.getChildren();
//		HtmlSelectBooleanCheckbox check = (HtmlSelectBooleanCheckbox) listComp
//				.get(0);
//		HtmlSelectBooleanCheckbox compCheckBox = (HtmlSelectBooleanCheckbox) table
//				.findComponent(check.getId());
//		Boolean value1 = (Boolean) compCheckBox.getValue();
//		Approvedoc ap = (Approvedoc) table.getRowData();
//		if (!value1) {
//			allyourDocDelete.remove(ap);
//			allTempYourDocDelete.remove(ap);
//		} else {
//			if (!allyourDocDelete.contains(ap)) {
//				allyourDocDelete.add(ap);
//				allTempYourDocDelete.add(ap);
//			}
//		}
//	}
//
//	public void viewYourDoc(ActionEvent e) {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Approvedoc ap = getCurrentApprovedoc();
//		if (ap != null) {
//			ss.setAttribute("flagRewrite", new Boolean(true));
//			ss.setAttribute("Approvedoc", ap);
//			setMessErr("");
//			setScript("RichFaces.ui.PopupPanel.hidePopupPanel('pView');openWin('/ERPApprove/viewDoc.jsf',1000,760,'EditDoc')");
//		} else {
//			setMessErr(getUtilInitLang().getErrNoDocView());
//			setScript("RichFaces.ui.PopupPanel.showPopupPanel('pView')");
//		}
//	}
//
//	public ArrayList<Approvedoc> getAllyourDoc() {
//		allyourDoc.clear();
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Object obj = ss.getAttribute("Employee");
//		if (obj != null) {
//			Employee em = (Employee) obj;
//			mysqlHelper.open();
//			try {
//				String sql = "select * from approvedoc where IDEmployee='"
//						+ em.getIdemployee() + "'";
//				ResultSet rs = mysqlHelper.executeQuery(sql);
//				while (rs.next()) {
//
//					allyourDoc.add(new Approvedoc(rs.getInt("IDApproveDoc"), rs
//							.getString("Tile"), rs.getString("Content"), rs
//							.getString("IDEmployee"), rs
//							.getString("IDGroupApprove"),
//							rs.getDate("Timecreate"), rs.getInt("IDStatus"), rs
//									.getInt("IDTypeDoc"), rs
//									.getDate("TimeApprove"), rs
//									.getString("comment"), rs
//									.getString("Description")));
//				}
//			} catch (Exception e) {
//			} finally {
//				mysqlHelper.close();
//			}
//		}
//		return allyourDoc;
//	}
//
//	public void checkEdit(ActionEvent e) {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Approvedoc ap = getCurrentApprovedoc();
//		if (ap != null) {
//
//			if (ap.getStatus().getiDStatus() == 2) {
//
//				ArrayList<ListApprove> appList = ap.getGroupApprove()
//						.getAllListApprove();
//				for (ListApprove lst : appList) {
//
//					if (lst.getStatus().getiDStatus() == 5) {
//						setMessErr(getUtilInitLang().getErrPermissionEdit());
//						setScript("RichFaces.ui.PopupPanel.showPopupPanel('pEdit')");
//						return;
//					}
//				}
//				ss.setAttribute("flagRewrite", new Boolean(true));
//				ss.setAttribute("Approvedoc", ap);
//				setMessErr("");
//				setScript("RichFaces.ui.PopupPanel.hidePopupPanel('pEdit');openWin('/ERPApprove/editDoc.jsf',1000,760,'EditDoc')");
//			} else {
//				setMessErr(getUtilInitLang().getErrPermissionEdit());
//				setScript("RichFaces.ui.PopupPanel.showPopupPanel('pEdit')");
//			}
//		} else {
//			setMessErr(getUtilInitLang().getErrNodocEdit());
//			setScript("RichFaces.ui.PopupPanel.showPopupPanel('pEdit')");
//		}
//	}
//
//	public void viewComment(ActionEvent e) {
//		Approvedoc ap = this.getCurrentApprovedoc();
//		if (ap != null) {
//			if (ap.getComment()!=null) {
//				comment = ap.getComment();
//				setScript("RichFaces.ui.PopupPanel.showPopupPanel('pComment')");
//			} else {
//				comment = "";
//				setScript("RichFaces.ui.PopupPanel.hidePopupPanel('pComment')");
//			}
//		}
//	}
//
//	public void okViewComment(ActionEvent e) {
//		comment = "";
//	}
//
//	public void setAllyourDoc(ArrayList<Approvedoc> allyourDoc) {
//		this.allyourDoc = allyourDoc;
//	}
//
//	public ArrayList<Approvedoc> getAllyourDocDelete() {
//		return allyourDocDelete;
//	}
//
//	public void setAllyourDocDelete(ArrayList<Approvedoc> allyourDocDelete) {
//		this.allyourDocDelete = allyourDocDelete;
//	}
//
//	public String getScript() {
//		return script;
//	}
//
//	public void setScript(String script) {
//		this.script = script;
//	}
//
//	public String getMessErr() {
//		return messErr;
//	}
//
//	public void setMessErr(String messErr) {
//		this.messErr = messErr;
//	}
//
//	public Approvedoc getCurrentApprovedoc() {
//		return currentApprovedoc;
//	}
//
//	public void setCurrentApprovedoc(Approvedoc currentApprovedoc) {
//		this.currentApprovedoc = currentApprovedoc;
//	}
//
//	public boolean isCheckDelete() {
//		return isCheckDelete;
//	}
//
//	public void setCheckDelete(boolean isCheckDelete) {
//		this.isCheckDelete = isCheckDelete;
//	}
//
//	public boolean isCheck() {
//		return isCheck;
//	}
//
//	public void setCheck(boolean isCheck) {
//		this.isCheck = isCheck;
//	}
//
//	public ArrayList<Approvedoc> getAllTempYourDocDelete() {
//		return allTempYourDocDelete;
//	}
//
//	public void setAllTempYourDocDelete(
//			ArrayList<Approvedoc> allTempYourDocDelete) {
//		this.allTempYourDocDelete = allTempYourDocDelete;
//	}
//
//	public String getComment() {
//		return comment;
//	}
//
//	public void setComment(String comment) {
//		this.comment = comment;
//	}
//
//}
